This invention relates generally to help facilities on a data processing system. More particularly, it relates to a method of providing contextual help or status information as the user moves a pointer across a screen.
As computer technology has progressed, particularly with the advent of the personal computer, data processing has reached every level of society and every level of user. Most of the software used with personal computers is highly interactive in that the actions taken by the system are dependent upon the actions taken by the operator of the computer system. Examples of such application programs are various text processing programs and spread sheets. The commercial acceptability of any application program is largely dependent on how "user friendly" that program appears to the user. There are a variety of means of helping the user interact with a program, but one of the more important means is some sort of help facility which the user can call upon for assistance.
In the prior art, help information is usually provided in a window on the same screen from which the help is requested. The information in these windows is usually hard coded into the application itself. This type of help facility is basically a condensed version of the operating guide for the application software. This type of help facility is used in a manner similar to the operating guide, except that it is automated. The user may be forced to navigate through one or more panels in text lists in pursuit of an answer to his problem. More information is generally provided than is required.
An improvement in summoning help is "contextual help" which is dependent on the context of the help request. Several types are known in the art. The least context driven is called application contextual; "help" is a selectable action on a menu bar to be chosen by the user if he requires help with a particular application.
Panel contextual help is more context driven than application contextual. Help request areas are present in each panel to summon help information related to the particular panel. Sometimes the displayed help information will carry a heading referring to the panel which helps correlate the help information and the panel last used by the user.
The most selective means of providing contextual help is to provide help based on the current cursor position in the window in the active application. This method is called cursor focus contextual. However, when help is displayed in conjunction with the position of the pointer, it is generally displayed in a dedicated area far from the pointer position and is not very natural to access for the user. Further, while cursor focus contextual methods exist, the prior art fails to provide help information on those areas on the screen where cursor focus cannot be established. For example, certain system controls, graphics, read-only text, etc. in certain applications, cannot receive the cursor focus. Often, help is very badly needed in these areas.
In sophisticated computer programs, a specialized type of help information concerns the changing status of the various components of the system, either hardware or software. A graphical user interface is a particularly useful means of presenting this type of information, yet until a user becomes familiar with icons associated with the various states of the system additional help may be required. As status information continually changes, some means for dynamic updating must be provided.
Another problem with most help systems is that they force the system into a help mode in which actions on the application cannot be taken. This leads to a frustrating situation, particularly for a novice user, in which the user must repeatedly alternate between mutually exclusive help and application modes, while remembering the status of the application or help information while interacting with the system. It is somewhat ironic that the system which provides help to the user, also gets in his way.
To be most effective, help information should be displayed near the focus of the user's attention, e.g., a mouse pointer. However, the previous methods either use a dedicated area of the window, or display too much information and obscure the information being displayed by the application.